Do druhého vydání jsem doplnil kapitoly o šablonách, prostorech jmen, objektově orientovaném návrhu a o používání národního prostředí v C++. Vypustil jsem části, kteríé se týkaly programování pro DOS a doplnil řadu nových
pastí a pastiček, na něž jsem od dokončení prvního vydání narazil.
Poznámky a opravy k 1. vydání
Strana | Řádek | Je | Má být | |
25 | nahoře | Dříve či později si ale všimneme, že tato funkce vrací pro každé n hodnotu 0. | Dříve či později si ale všimneme, že tato funkce vrací pro každé n hodnotu 1. | |
29 | 7. ř. zdola | max = a[j]; | max = pole[j]; | |
29 | 4. ř. zdola | do min se přiřadí | do max se přiřadí
Aby zmatků nebylo dost, kód ve skutečnosti počítá minimum, ale to zde není vůbec podstatné -- důležitý je ten nadbytečný středník. |
|
55 | 13. zdola | c = (char*)malloc(strlen("Nějaký řetězec"+1)); | c = (char*)malloc(strlen("Nějaký řetězec")+1); | |
56 | 20. ř. zdola | cout << VytvorText(15); | cout << VytvorText(15, 25); | |
65 | po celé stránce | První | Prvni)
(Word byl zase jednou chytřejší než já...) |
|
67 | 14. ř. zdola | char c[20]; | char c[200]; | |
68 | 3. ř. zdola | char c = va_arg(ap, float); | float c = va_arg(ap, float); | |
82 | 17. ř. zdola | cin.getline(c, 99);// Čte maximálně 1 000 znaků | cin.getline(c, 100);// Čte maximálně 99 znaků
(metoda getline() očekává délku pole a čte max. o jeden znak méně kvůli ukončovací nule |
|
98 | 10. ř. zdola | platit i == -32767. | platit i == -32768 | |
99 | 14. ř. zdola | if(n == 0)*c++='0'; | if(n == 0){*c++='0'; *c = 0;}
(Chybělo přidání nuly ukončující řetězec.) |
|
108 | 8. ř. zdola | s = a | s - a
(Překlep v Heronově vzorci) |
|
135 | 18. ř. zdola | ~String(){delete s;} | ~String(){delete[] s;}
(Původní verze bude na velké většině překladačů fungovat strávně, protože s ukazuje na pole základního, nikoli objektového typu.) |
Na začátek stránky Moje domovská stránka Seznam publikací Poznámky